package com.funsport.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.funsport.entity.PointOrder;

/**
 * 积分订单服务接口
 */
public interface IPointOrderService extends IService<PointOrder> {
    
    /**
     * 创建兑换订单
     */
    String exchange(Long userId, Long productId, Integer quantity, String receiverName, String receiverPhone, String receiverAddress);
    
    /**
     * 获取用户订单列表
     */
    Page<PointOrder> getUserOrders(Long userId, Integer page, Integer pageSize, String status);
    
    /**
     * 获取所有订单列表（管理员）
     */
    Page<PointOrder> getAllOrders(Integer page, Integer pageSize, String status, Long userId);
    
    /**
     * 发货
     */
    void ship(String orderNo, String shippingNo);
    
    /**
     * 完成订单
     */
    void complete(String orderNo);
    
    /**
     * 取消订单
     */
    void cancel(String orderNo, Long userId);
}

